[33m4395633[m[33m ([m[1;36mHEAD[m[33m -> [m[1;32mmaster[m[33m)[m HEAD@{0}: commit: 正式提交
[33m2e89f89[m HEAD@{1}: commit: perf(core): 显式主键查重短路 — 时序表写入 36.7× (1,644 → 60,259 行/秒)
[33mf5f0a36[m[33m ([m[1;31morigin/master[m[33m, [m[1;31morigin/HEAD[m[33m)[m HEAD@{2}: commit: commit
[33m479b1d0[m HEAD@{3}: commit: test(demo): txn_crash_chaos 事务混沌压测 — 无清单验证事务原子性/持久性/回滚
[33m166840e[m HEAD@{4}: commit: fix(core): 事务回滚丢失未提交 DDL 的内存元数据 — DDL 隐式提交 + 事务内 DDL 拒绝
[33mdbe8444[m HEAD@{5}: commit: test(demo): wal_crash_chaos 支持重型写入与嵌套断电场景
[33m0f036d5[m HEAD@{6}: commit: test(demo): wal_crash_chaos 随机断电压测 — 子进程随机时刻强杀 + 恢复后四维校验
[33me2d21ab[m HEAD@{7}: commit: fix(core): 随机断电压测抓获两个崩溃恢复丢数据 bug — PageRest 补尾 + 恢复/载序
[33m054c8b6[m HEAD@{8}: commit: fix(migrate,web): MySQL tinyint(1) 映射 Bool + 批量参数上限
[33mcff695d[m HEAD@{9}: commit: fix(core): 自增主键游标全面 pkMu 保护 — AllocPKID 与显式大号顶起互斥
[33ma5a5cba[m HEAD@{10}: commit: fix(orm): 事务劫持/危险静默错数据/未导出字段建模报错
[33m3a03e8a[m HEAD@{11}: commit: fix(core): WAL/恢复路径硬化 — 溢出守卫/断链报错/写错误传播/页ID守卫/事务覆盖防护
[33md3455be[m HEAD@{12}: commit: fix(btree): 二级 B+ 树顺序追加走 SequentialRight, 修复最右脊半空膨胀
[33m5433871[m HEAD@{13}: commit: feat(analyzer): 同步 HeaderCrc — 展示 + 整页 XXH32 审计 + 修复 Comment 读取残留
[33mda34df1[m HEAD@{14}: commit: feat(format): HeaderPage 增加 HeaderCrc (XXH32) 整页校验与 --force-inspect 抢救模式
[33mf8c7817[m HEAD@{15}: commit: feat(format): Comment 扩展为 3764 字节占满整页, 建库默认写入版本介绍
[33mee5c365[m HEAD@{16}: commit: feat(format): HeaderPage 重排 (v11) 与 Comment 启用
[33m74ebdeb[m HEAD@{17}: commit: chore: demo 运行日志 (45 个 .log) 移出版本库, .gitignore 补规则
[33mb685a00[m HEAD@{18}: commit: chore(all): demo 改名 verify_*, slices 现代化, Close 错误聚合, doc.go (D4+D5)
[33m0658416[m HEAD@{19}: commit: refactor(index): IEntry 假插件体系收殓 + extractIndexKey 死参数 (C2+C3)
[33mfeb73b8[m HEAD@{20}: commit: refactor(index): 拆 RowStoreHandler 能力接口, 删 9 个 stub (C1)
[33m0af9707[m HEAD@{21}: commit: refactor(core): 行布局解析前导收拢为 parseRowLayout (B3)
[33mbe26dc0[m HEAD@{22}: commit: refactor(core): 五个比较条件合一为 CmpCondition (B2)
[33mf91c6bd[m HEAD@{23}: commit: refactor(index)+dup(core): SBT 处理器基座合并与扫描小去重 (B1+B4)
[33m39fc5d2[m HEAD@{24}: commit: chore(core): 技术债务清理 (D1-D3)
[33m76e75fd[m HEAD@{25}: commit: refactor(core): 纯移动结构拆分与命名统一 (A1-A4, 零逻辑变更)
[33m54e1c34[m HEAD@{26}: commit: fix(core)+feat(query)+perf(engine): 三轮审计修复、查询优化器、BufferPool 重构与测试体系
[33m6ef1c03[m HEAD@{27}: reset: moving to HEAD
[33m6ef1c03[m HEAD@{28}: pull: Fast-forward
[33m6047d16[m HEAD@{29}: commit: 还没有添加NULL版本
[33mb877f45[m HEAD@{30}: commit: feat: 时序表支持同一时间戳多行 (隐藏行号 pkID 精确定位), 收拢 analyzer/migrate 与文档
[33m078bcdc[m HEAD@{31}: commit: commit
[33mede24c9[m HEAD@{32}: commit: commit
[33med3dc55[m HEAD@{33}: commit: 修复analyer的全部功能
[33m367d600[m HEAD@{34}: commit: perf: 堆页插入改为链尾分配, 消除 O(n^2) 线性扫描
[33m2a087ed[m HEAD@{35}: commit: fix: DROP TABLE 按索引页布局分流回收, 修复哈希/复合/时序索引页漏回收
[33m8f26f33[m HEAD@{36}: commit: fix: CreateIndex 拒绝动态列做索引键 (提前到建索引时拦)
[33m2e23ee7[m HEAD@{37}: commit: fix: 复合索引真正生效 (键按分量定长拼接 + 复合区间推导)
[33mab77199[m HEAD@{38}: commit: feat: v2 页格式 + 空间回收 + 批量删除索引重建修复
[33mbbfc277[m HEAD@{39}: commit: commit
[33mccdec8b[m HEAD@{40}: commit: chore: 新增 .gitignore 忽略 db/exe 产物，并移除已跟踪的构建产物
[33m114e4de[m HEAD@{41}: commit: commit
[33m17863b5[m HEAD@{42}: commit: fix: Hash 索引关键 Bug 修复
[33m46bc414[m HEAD@{43}: commit: commit
[33md0435ab[m HEAD@{44}: commit: feat: Phase 2 完成 - Transaction 支持行级 WAL
[33m2714766[m HEAD@{45}: commit: test: WAL 行级序列化测试通过
[33m7759f09[m HEAD@{46}: commit: feat: WAL 支持行级记录序列化
[33m9c9ca72[m HEAD@{47}: commit: perf: 优化事务内存管理（Commit/Rollback后释放快照）
[33m5e1ec58[m HEAD@{48}: commit: feat: 实现完整事务支持（Rollback立即生效）
[33mb95d1c0[m HEAD@{49}: commit: feat: 实现基础事务支持（简化版）
[33m6b7b6fb[m HEAD@{50}: commit: chore: 删除测试临时文件
[33m776acc7[m HEAD@{51}: commit: feat: 实现完整的 WAL 状态机 (Mem→Written→Persisted→Committed)
[33m0d3abcd[m HEAD@{52}: commit: feat: 添加完整的 WAL 状态机 (4种状态)
[33m4a9f610[m HEAD@{53}: commit: feat: 新增 ultra-safe 预设 (40页/50ms)
[33m853104a[m HEAD@{54}: commit: refactor: 优化常量组织和注释说明
[33mbd802dc[m HEAD@{55}: commit: commit
[33m3ff9c65[m HEAD@{56}: commit: chore: 删除压力测试生成的临时文件
[33md6338de[m HEAD@{57}: commit: feat: 通过压力测试确定最优 BufferPool 配置
[33mc1dfcfc[m HEAD@{58}: commit: fix: DefaultBufferPoolCapacity 调整为 5000 页 (~78MB)
[33m637cc6a[m HEAD@{59}: commit: chore: 删除测试生成的临时文件
[33mc8facb9[m HEAD@{60}: commit: fix: BufferPool满时改为阻塞等待，不再返回错误
[33m89defb2[m HEAD@{61}: commit: chore: 删除锁表测试生成的临时文件
[33m68e65b7[m HEAD@{62}: commit: feat: 实现锁表机制，Commit/Flush期间禁止写入
[33m8e48798[m HEAD@{63}: commit: chore: 删除预设测试生成的临时文件
[33m6257121[m HEAD@{64}: commit: feat: 添加提交策略预设，支持在线/离线/安全三种场景
[33m0d34c17[m HEAD@{65}: commit: chore: 删除测试生成的临时 .db 文件
[33mad56f7a[m HEAD@{66}: commit: refactor: 整理 Makefile 和测试程序结构
[33me7b96fb[m HEAD@{67}: commit: fix: 降低 DirtyThreshold 默认值从 2000→500 页，提升数据安全性
[33mb8aba4c[m HEAD@{68}: commit: perf: NotifyWrite 使用 Reset 复用 timer 对象，减少 GC 压力
[33m010d70b[m HEAD@{69}: commit: feat: UseTable 自动推导表名，无需手动传递
[33me20f570[m HEAD@{70}: commit: fix: no_commit_test 场景4 验证期望值错误
[33m45e2dbd[m HEAD@{71}: commit: feat: 添加交互式操作教程覆盖所有功能
[33m9f398ef[m HEAD@{72}: commit: fix: 统一方格尺寸为14px, 保证每行数量一致
[33m2e5ed75[m HEAD@{73}: commit: fix: DropTable 后 Flag(0x80) 未持久化到磁盘
[33m189d52d[m HEAD@{74}: commit: feat: Free Pages / Heap Pages 页可视化方格 + no-cache 头
[33mafcba14[m HEAD@{75}: commit: feat: Analyzer 页可视化网格 + 二级索引 PKID 跳转 DataPage
[33m6f9bc88[m HEAD@{76}: commit: fix: Analyzer 二级索引显示修复 + IndexMeta 结构体大小修正
[33m9e0c583[m HEAD@{77}: commit: fix: Analyzer 二级索引无法显示数据
[33mb979ac5[m HEAD@{78}: commit: fix: DropTable 页回收 - 正确释放 B+树/DataPage/Heap 页到空闲链表
[33m8a9360d[m HEAD@{79}: commit: fix: B+ tree routing, DataPage reuse, WAL CRC32, dirty page threshold
[33mcb4d2b2[m HEAD@{80}: commit: commit
[33mde43df5[m HEAD@{81}: commit: commit
[33m69f7a67[m HEAD@{82}: commit: feat: B+树修复阶段1完成-建立验证基础设施
[33m88668d1[m HEAD@{83}: commit: fix: B+树分裂逻辑-使用leftmostKey获取正确的promoKey
[33me312d2f[m HEAD@{84}: commit: chore: 保存当前状态 - B+树bug待修复前的快照
[33m4e6bcef[m HEAD@{85}: commit: fix: 字符串索引B+树委托给SBTInsert复用经过验证的实现
[33m26b788f[m HEAD@{86}: reset: moving to HEAD
[33m26b788f[m HEAD@{87}: commit: fix: 修复字符串索引 B+ 树分裂逻辑 + Update key 传递bug
[33mef64eba[m HEAD@{88}: commit: perf: BufferPool 优化 — 容量增至50000页 + flush周期100ms
[33m0bd69f7[m HEAD@{89}: commit: feat: 添加 BufferPool 页面缓冲池 — 写回策略+10ms后台刷盘+Commit()
[33m585bb4c[m HEAD@{90}: reset: moving to HEAD
[33m585bb4c[m HEAD@{91}: commit: perf: 基准测试100万行完整结果 — 增删改查/条件/排序/分组全覆盖
[33me83507a[m HEAD@{92}: reset: moving to HEAD
[33me83507a[m HEAD@{93}: commit: perf: 基准测试升级到1000万行, 覆盖增删改查/条件查询/排序/分组
[33mc07952c[m HEAD@{94}: commit: feat: 查询引擎完整实现 — 流式Scan/索引匹配/反序遍历/聚合/增删改查
[33m3b1e6ab[m HEAD@{95}: commit: commit
[33m68d33f0[m HEAD@{96}: reset: moving to HEAD
[33m68d33f0[m HEAD@{97}: pull: Fast-forward
[33mf50d9d1[m HEAD@{98}: commit (initial): first commit
